package com.springapp.service.impl;

import com.springapp.dao.dao.impl.ArticleDAO;
import com.springapp.dao.dao.impl.ParametreDAO;
import com.springapp.model.Article;
import com.springapp.service.IArticleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.annotation.PostConstruct;
import java.util.ArrayList;

/**
 * Created by nicol_000 on 01/09/14.
 */
@Service
public class ArticleSce implements IArticleService{

    @Autowired
    private ArticleDAO articleDao;



    private ArrayList<Article> lstArticleAlertes;

    @PostConstruct
    public void init(){
        lstArticleAlertes = articleDao.getListeArticles(false);
    }
    // REFAIRE LISTE ARTICLES AVEC DELAIS MOYENS
    // PAROURIR CETTE LISTE ET UPDATE STOCKS
    // CONTROL STOCK POUR CHAQUES ARTICLES.

    public ArrayList<Article> getLstArticle(boolean _EstPicking){
        lstArticleAlertes = articleDao.getListeArticles(_EstPicking);

        for(Article art : lstArticleAlertes)
        {
            if(art.bEstAlerteOrange(art.geteQteTotale(),art.geteStockSecurite(),art.geteStockAlerte()))
            {
                art.setAlertOrange(true);
            }else if(art.bEstAlerteRouge(art.geteQteTotale(), art.geteStockAlerte()))
            {
                art.setAlertRouge(true);
            }
        }

        return lstArticleAlertes;
    }

    /**
     * Methode pour lancer le recalcul des stocks par Articles.
     * True si OK.
     *
     * Passer la liste en parametre.
     * @return
     */
    @Override
    public String updateStocks(){
        return articleDao.update(lstArticleAlertes);
    }



}
